home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Texteditors / Origami / bindings / Makefile < prev    next >
Encoding:
Makefile  |  1996-09-27  |  7.4 KB  |  276 lines

  1. include ../Configfile
  2.  
  3. KEYBIND=       $(BIN_PATH)/keybind
  4.  
  5. DO_KEYBIND=    $(KEYBIND) -O -L .:fun $(KEYBINDFLAGS)
  6.  
  7. AUTOALIAS=     $(BIN_PATH)/autoalias
  8.  
  9. BIND_DIR=      $(ORIGAMI_PATH)/bindings
  10.  
  11. all:
  12.  
  13. lint:
  14.  
  15. do_check_common:check_common
  16.  
  17. #{{{}}}
  18. #{{{  what to install?
  19. OCL_SRC=    *.keys ref2ocl
  20. OCL_NEED=       modeori-fun/ref.ocl vi-fun/ref.ocl modeori-fun/autoterm \
  21.         modeori-fun/OSmenu.ocl modeori-fun/bindings \
  22.                 modeori-fun/functions modeori-fun/references \
  23.                 modeori-fun/spec-fun \
  24.                 origami-fun/terms \
  25.         emacs-fun/em-term-alias emacs-fun/em-term-list \
  26.                 emacs-fun/ref.ocl \
  27.                 $(OCL_SRC) $(FUNREF)
  28. OCL_FUN_DIRS=    fun modeori-fun vi-fun emacs-fun
  29.  
  30. BINDS= emori modeori mtorigami viori
  31. #}}}
  32.  
  33. install:    linkinstall bindinstall oclinstall
  34.  
  35. deinstall:      ocldeinstall binddeinstall linkdeinstall
  36.  
  37. #{{{  depend..
  38. depend pseudo_depend:
  39.         fun2ref -d $(AWK) fun/[a-z]*
  40.  
  41. empty_depend:
  42.         rm -f *dependencies*
  43.         > dependencies
  44. #}}}
  45.  
  46. #{{{  no suffixes, to prevent ratfor usage for references
  47. .SUFFIXES:
  48.  
  49. .SUFFIXES:.c
  50.  
  51. #}}}
  52. #{{{  auto_ref_gen
  53. include dependencies
  54.  
  55. funref:    $(FUNREF)
  56.  
  57. $(FUNREF) unused.r:    fun2ref
  58.     fun2ref -r $(AWK) $(@:.r=) >$@
  59. #}}}
  60. #{{{  tags
  61. tags:
  62.         -$(MAKE) $(OCL_NEED)
  63.         for i in $(OCL_FUN_DIRS); do \
  64.                    cd $$i;$(SCRIPT_DIR)/ocl2tag * ; cd .. ; \
  65.                 done
  66.         $(SCRIPT_DIR)/ocl2tag *.keys
  67. #}}}
  68. #{{{  termalias
  69. termalias:        $(AUTOALIAS) ../Configfile
  70.         -(for i in $(TERMINALS) ;do \
  71.           TERMCAP="$(TERMCAP)" $(AUTOALIAS) -t $$i; \
  72.         done;) >$@
  73. #}}}
  74. #{{{  ocl(de)install
  75. oclinstall:     $(BINDSOURCEINSTALL) ocl_doc_install
  76.  
  77. real_ocl_install:    $(OCL_NEED) tags
  78.         for i in $(OCL_SRC); do \
  79.                   $(FILE_INSTALL) -m 644 $$i $(BIND_DIR); \
  80.         done
  81.         for j in $(OCL_FUN_DIRS); do \
  82.                   $(DIR_INSTALL) -m 755 $(BIND_DIR)/$$j; \
  83.           for i in $$j/* ; do \
  84.                     $(FILE_INSTALL) -m 644 $$i $(BIND_DIR)/$$j; \
  85.           done; \
  86.         done
  87.  
  88. ocl_doc_install:    $(FUNREF)
  89.         $(DIR_INSTALL) -m 755 $(ORIGAMI_PATH)/doc/fun
  90.         for i in $(FUNREF); do \
  91.                   ref2ocl $(AWK) $$i roff | tbl | nroff -ms | col | compress >$(ORIGAMI_PATH)/doc/$$i.Z; \
  92.                   chmod 644 $(ORIGAMI_PATH)/doc/$$i.Z; \
  93.                 done
  94.  
  95. ocldeinstall:
  96.         -for i in $(OCL_NEED) tags; do \
  97.                   rm -f $(BIND_DIR)/$$i; \
  98.         done
  99.         -for j in $(OCL_FUN_DIRS); do \
  100.                   for i in $$j/* $$j/tags; do \
  101.                     rm -f $(BIND_DIR)/$$i; \
  102.                   done; \
  103.         done
  104.         -for j in $(OCL_FUN_DIRS); do \
  105.                   rmdir $(BIND_DIR)/$$j; \
  106.         done
  107.         rm -r -f $(ORIGAMI_PATH)/doc/fun
  108. #}}}
  109. #{{{  bind(de)install
  110. bindinstall:    $(BINDRCINSTALL)
  111.  
  112. realbindinstall:
  113.     for I in $(BINDS) origami; do $(MAKE) $$I"_install"; done
  114.  
  115. binddeinstall:
  116.     for I in $(BINDS) origami; do $(MAKE) $$I"_deinstall"; done
  117.  
  118. rc_gen:
  119.     for I in $(BINDS) origami; do $(MAKE) $$I; done
  120.  
  121. #{{{  origamirc
  122. ORIGAMI_TMP=    origami-fun/terms
  123.  
  124. origami-fun/terms:    termalias origami-fun/autoterm.awk
  125.         $(AWK) -f origami-fun/autoterm.awk termalias >$@
  126.  
  127. origami:    .origamirc
  128.  
  129. .origamirc:    origami.keys origami-fun/terms fun/*
  130.         $(DO_KEYBIND) -o .origami origami.keys
  131.  
  132. origami_install:    origami
  133.         $(FILE_INSTALL) -m 644 .origamirc $(ORIGAMI_PATH)
  134.  
  135. origami_deinstall:
  136.         rm -f $(ORIGAMI_PATH)/.origamirc
  137. #}}}
  138. #{{{  emori
  139. emori:        .emorirc
  140.  
  141. .emorirc:    emacs.keys emacs-fun/em-term-list emacs-fun/em-term-alias fun/* $(KEYBIND) emacs-fun/ref.ocl
  142.         $(DO_KEYBIND) -s -r emacs.ms -o .emori emacs.keys
  143.  
  144. emacs-fun/em-term-alias emacs-fun/em-term-list:    emacs-fun/term.awk termalias
  145.         cd emacs-fun; $(AWK) -f term.awk <../termalias
  146.  
  147. emacs-fun/ref emacs-fun/ref-sets:  emacs.keys key_split.awk
  148.         cd emacs-fun;$(AWK) -f ../key_split.awk ../emacs.keys
  149.  
  150. emacs-fun/ref.ocl: ref2ocl emacs-fun/ref emacs-fun/ref-sets $(FUNREF) fun/global-ref
  151.         ref2ocl $(AWK) emacs-fun/ref -sets >emacs-fun/ref.ocl
  152.  
  153. emori_install:    emori
  154.         $(FILE_INSTALL) -m 644 .emorirc $(ORIGAMI_PATH)
  155.         tbl emacs.ms | nroff -ms | col | compress >$(ORIGAMI_PATH)/doc/emacs.ref.Z
  156.         chmod 644 $(ORIGAMI_PATH)/doc/emacs.ref.Z
  157.  
  158. emori_deinstall:
  159.         rm -f $(ORIGAMI_PATH)/.emorirc
  160.         rm -f $(ORIGAMI_PATH)/doc/emacs.ref.Z
  161.         rm -f $(BIN_PATH)/emori
  162.  
  163. EMORI_TMP= emacs-fun/em-term-list emacs-fun/em-term-alias \
  164.        emacs-fun/ref.ocl emacs-fun/ref emacs-fun/ref-sets
  165. #}}}
  166. #{{{  modeori
  167. MODEORI_TMP= modeori-fun/ref.ocl modeori-fun/autoterm modeori-fun/autoterm.r \
  168.              modeori-fun/OSmenu.ocl modeori-fun/OSmenu \
  169.              modeori-fun/terms modeori-fun/ref modeori-fun/ref-sets
  170.  
  171. modeori:        .modeorirc
  172.  
  173. modeori-fun/OSmenu modeori-fun/terms: modeori-fun/bindings key_split.awk
  174.         $(AWK) -f key_split.awk modeori-fun/bindings
  175.  
  176. modeori-fun/ref modeori-fun/ref-sets: modeori-fun/references key_split.awk
  177.         $(AWK) -f key_split.awk modeori-fun/references
  178.  
  179. modeori-fun/OSmenu.ocl: modeori-fun/OSmenu OSamiga.awk
  180.     $(AWK) -f OSamiga.awk modeori-fun/OSmenu >modeori-fun/OSmenu.ocl
  181.  
  182. modeori-fun/autoterm.r modeori-fun/autoterm: modeori-fun/autoterm.awk termalias
  183.         cd modeori-fun; $(AWK) -f autoterm.awk <../termalias
  184.  
  185. modeori-fun/ref.ocl: ref2ocl modeori-fun/ref modeori-fun/ref-sets modeori-fun/autoterm.r $(FUNREF) fun/global-ref
  186.         ref2ocl $(AWK) modeori-fun/ref -sets >modeori-fun/ref.ocl
  187.  
  188. modeori.ms .modeorirc:    modeori.keys $(MODEORI_TMP) modeori-fun/bindings \
  189.         modeori-fun/functions modeori-fun/references \
  190.         modeori-fun/spec-fun $(KEYBIND) fun/*
  191.         $(DO_KEYBIND) -Unew-terminal -s -r modeori.ms  -o .modeori modeori.keys
  192.  
  193. modeori_install:    morcinstall morefinstall
  194.  
  195. modeori_deinstall:
  196.         rm -f $(ORIGAMI_PATH)/.modeorirc
  197.         rm -f $(ORIGAMI_PATH)/.modeorihelp
  198.         rm -f $(ORIGAMI_PATH)/doc/modeori.ref.Z
  199.         rm -f $(BIN_PATH)/modeori
  200.  
  201. morcinstall:   modeori
  202.         $(FILE_INSTALL) -m 644 .modeorirc $(ORIGAMI_PATH)
  203.  
  204. morefinstall:   modeori
  205.         tbl modeori.ms | nroff -ms | col | compress >$(ORIGAMI_PATH)/doc/modeori.ref.Z
  206.         chmod 644 $(ORIGAMI_PATH)/doc/modeori.ref.Z
  207. #}}}
  208. #{{{  viori
  209. viori:        .viorirc
  210.  
  211. vi-fun/ref.ocl: ref2ocl vi-fun/ref vi-fun/ref-sets $(FUNREF)
  212.         ref2ocl $(AWK) vi-fun/ref -sets >vi-fun/ref.ocl
  213.  
  214. .viorirc:    viori.keys vi-fun/* fun/* $(KEYBIND) vi-fun/ref.ocl
  215.         $(DO_KEYBIND) -s -r viori.ms -o .viori viori.keys
  216.  
  217. viori_install:      viori
  218.         $(FILE_INSTALL) -m 644 .viorirc $(ORIGAMI_PATH)
  219.         tbl viori.ms | nroff -ms | col | compress >$(ORIGAMI_PATH)/doc/viori.ref.Z
  220.         chmod 644 $(ORIGAMI_PATH)/doc/viori.ref.Z
  221.  
  222. viori_deinstall:
  223.         rm -f $(ORIGAMI_PATH)/.viorirc
  224.         rm -f $(ORIGAMI_PATH)/doc/viori.ref.Z
  225.         rm -f $(BIN_PATH)/viori
  226.  
  227. VIORI_TMP=    vi-fun/ref.ocl
  228. #}}}
  229. #{{{  mtorigami
  230. mtorigami:      .mtorigamirc
  231.  
  232.  
  233. .mtorigamirc:   mtool.keys fun/* $(KEYBIND)
  234.         $(DO_KEYBIND) -s -o .mtorigami mtool.keys
  235.  
  236. mtorigami_install:    mtorigami
  237.         $(FILE_INSTALL) -m 644 .mtorigamirc $(ORIGAMI_PATH)
  238.  
  239. mtorigami_deinstall:
  240.         rm -f $(ORIGAMI_PATH)/.mtorigamirc
  241.         rm -f $(BIN_PATH)/mtorigami
  242. #}}}
  243. #}}}
  244. #{{{  link(de)install
  245. linkinstall:    linkdeinstall
  246.         for i in $(BINDS); do ln $(BIN_PATH)/origami $(BIN_PATH)/$$i ; done
  247.  
  248. linkdeinstall:
  249.         for i in $(BINDS); do rm -f $(BIN_PATH)/$$i ; done
  250. #}}}
  251.  
  252. #{{{  awk
  253. awk:            clobber
  254.         $(MAKE) depend
  255.         $(MAKE) funref
  256.         -if test -x $(KEYBIND); \
  257.         then \
  258.             if test -x $(AUTOALIAS); \
  259.             then \
  260.                 for i in $(BINDS) origami; do $(MAKE) $$i; done; \
  261.             fi; \
  262.                 fi
  263.         -$(MAKE) emacs-fun/em-term-list
  264.         -$(MAKE) emacs-fun/em-term-alias
  265.         -$(MAKE) modeori-fun/ref.ocl
  266.         -$(MAKE) modeori-fun/termalias
  267.         $(MAKE) clean
  268. #}}}
  269.  
  270. clean:
  271.         rm -f core ref.tmp.* tags */tags
  272.  
  273. clobber:        clean empty_depend
  274.         rm -f *.ms .*rc .*help $(FUNREF) termalias $(EMORI_TMP) \
  275.                       $(MODEORI_TMP) $(VIORI_TMP) $(ORIGAMI_TMP)
  276.